import axios from '@ohos/axios'
import { Axis } from '@ohos.multimodalInput.mouseEvent';

export class NetManager {
  private static instance: NetManager | null = null;

  private constructor() {
    // 私有构造函数，防止外部实例化该类
  }
  /**
   * 单例
   * @returns
   */
  public static getInstance(): NetManager {
    if (!NetManager.instance) {
      NetManager.instance = new NetManager();
    }
    return NetManager.instance;
  }

  public postData(url:string,reqData:any,success: (arg: any) => any,error: (arg: any) => any,finish:()=>void): void {
    // 创建一个 Axios 实例
    const instance = axios.create({
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded', // 设置 Content-Type 为 JSON
      }
    });
    instance.interceptors.request.use(config => {
      console.log('请求已发送：', JSON.stringify(config));
      // 在这里可以对 config 进行修改，比如添加 headers 等
      return config;
    }, error => {
      console.error('请求错误：', error);
      return Promise.reject(error);
    });
    instance.post(url, reqData, { timeout: 10000 }).then(res => {
      console.log("响应结果：" + JSON.stringify(res.data))
      success(res.data.Response)
    }).catch(res => {
      console.log(res.data)
      error(res.data)
    }).finally(() => {
      finish()
    })
  }
}